<?php
namespace Admin\Controller;
use Think\Controller;
class BannerController extends ConmonController {


    /**
     * 导航添加
     *
     * @return void
     * @author
     **/

    //添加新广告
    public function add(){
        if(IS_POST){
            //将提交的时间数据转成时间戳格式
            $_POST['uptime']=strtotime($_POST['uptime']);
            $_POST['downtime']=strtotime($_POST['downtime']);
           // print_r($_POST);die;
            // 如果图片数组不为空，则调用图片上传函数，把返回的图片存储路径存入post数组中，一起存入数据库
            if(!empty($_FILES)){
               $save = $this->upload();
               $_POST['piture']=$save;
            }

             //已经在公共类动态实例化对应的数据库
            $id = $this->MODEL->data(I('post.'))->add();

            if($id){
                $this->success('添加成功',U('Banner/lists'),1);die;
            }else{
                $this->error('添加失败','',2);die;
            }

        }


        $this->display();

    }

    //文件上传方法
   public function upload(){
       $upload = new \Think\Upload();// 实例化上传类
       $upload->maxSize   =     3145728 ;// 设置附件上传大小
       $upload->exts      =     array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
       $upload->rootPath  =       'Uploads/';   //根目录
       $upload->savePath  =      'banner_piture/'; // 设置附件上传目录

       $info   =   $upload->uploadOne($_FILES['piture']); // 上传单个文件

       // print_r($info);die;
       // 拼接图片的保存路径
       $save= './Uploads/'.$info['savepath'].$info['savename'];

    return $save;
 }






    public function edit(){

        //print_r(I('get.id'));die;获取到正在编辑的数据id
        $id =  I('get.id');
        //查询该数据id的数据
        $list = $this->MODEL->where("id=$id")->find();
        //print_r($list['avatar']);die;


        //更改头像
          if(IS_POST){

            //获取到原来的图片路径,存入数据库
            $_POST['piture']= $list['piture'];

            //如果更改了头像，$_FILES就会有信息。则执行图像上传函数
            if(!empty($_FILES['piture']['name'])){

                    //删除原来的图片，保存更改的图片
                    unlink('./'.$list['piture']);

                    $save= $this->upload();

                    //把路径存到post的avatar的下标中
                    $_POST['piture']=$save;
                }

             //已经在公共类动态实例化对应的数据库，对正在编辑的数据进行更新
            $id = $this->MODEL->where("id=$id")->save(I('post.'));

            if($id){
                $this->success('更改成功',U('banner/lists'),1);die;
            }else{
                $this->error('更改失败','',1);die;
            }
        }


        $this->assign('list',$list);
        $this->display();

}

    public function del(){

        $id=I('get.id');

        $row=$this->MODEL->where("id=$id")->delete();
         if($row){
           $this-> success('删除成功',U('banner/lists') , 0);die;
        }else{
            $this->error('删除失败',' ',1 );die;
        }
    }



    /**
     * 列表页数据
     *
     * @return void
     * @author
     **/
    function lists(){

       // print_r(CONTROLLER_NAME);die;

        $count      = $this->MODEL->relation(true)->count();// 查询满足要求的总记录数
        $Page       = new \Think\Page_nav($count,10);// 实例化分页类 传入总记录数和每页显示的记录数(25)
        $Page->setConfig('prev','上一页');
        $Page->setConfig('next','下一页');
        $Page->setConfig('first','第一页');
        $Page->setConfig('last','尾页');
        $show       = $Page->show();// 分页显示输出// 进行分页数据查询 注意limit方法的参数要使用Page类的属性
        $list = $this->MODEL->relation(true)->order('id asc')->limit($Page->firstRow.','.$Page->listRows)->select();


        foreach ($list as $key => $value) {
            $list[$key]['title']=$value['banner_point']['title'];
        }
        //print_r($list);die;
        $this->assign('list',$list);// 赋值数据集
        $this->assign('page',$show);// 赋值分页输出

        $this->display(); // 输出模板


    }


}